Automated system for creating, processing and generating videos

ABSTRACT

An automated system for creating, processing and editing videos can be used to create videos, informational video clips and any other video materials. The claimed automated system for creating, processing and generating videos comprises at least one video server connected by means of a data transmission network to at least one user computer device, and a data store, wherein the said video server comprises at least one processor configured to execute program instructions contained in a readable memory, and server-based software, at least one unit for authenticating users configured to authenticate, authorize/register the system users and verify the authorized user access to system functions, and a unit for loading data configured to load digital audio visual data and directory databases onto the video server; wherein each of these user computer devices comprises an interface for connection to the data transmission network and client software designed to interact with the video server. The said video server further includes, connected to each other and to the unit for authenticating users and unit for loading data, a unit for generating and assigning unique identifiers, a unit for establishing relationships, a unit for generating a sequence of video fragments, a unit for forming/editing the sequence of video fragments, a unit for applying visual/audio effects, a unit for pre-viewing, a unit for pre-saving, a unit for compiling/rendering video fragments and a unit for storing the results.

FIELD OF INVENTION

The proposed invention relates to automated systems for creating,processing and editing videos and can be used to create videos,informational video clips and any other video materials.

BACKGROUND

With the ever-growing popularity of the Internet, social networks, videoservices, the need for creating videos on various subjects is growing,for both advertising and entertainment.

In turn, the creation of high-quality videos requires special knowledge,tools and resources from users.

Despite the fact that now there is a huge variety of services andprograms that help a user create a video—all of them do not guaranteethat in the end a video will be formed in which the basic requirementswill be met, namely: theme, consistency, group of actors (orcharacters), linear plot, narrative.

From the prior art it is known an automated system for creating andediting clips in an Internet browser for subsequent delivery toadvertising media, ‘Video Mixer’, containing a web server connected viaan Internet browser to a user computer, characterized in that thefollowing units are formed on the web server: a unit for authenticatingusers, four elements OR, a unit for ‘Video Mixer’ operation in guestmode, a unit for ‘Video Mixer’ operation in full mode, a unit forcreating a new video clip, a template selection unit, a unit forentering a video clip name, a unit for editing scenes of a clip, a unitfor selecting background music, a unit for viewing a clip, a unit forselecting an existing clip, a unit for saving a clip to the store, and acontroller for refusing to save the clip, while the output of the unitfor authenticating users is connected to the first element OR, oneoutput of which is connected to the first input of the unit for creatinga new clip, via the unit for ‘Video mixer’ operation in guest mode, andthe other one, through the unit for ‘Video mixer’ operation in fullmode, is connected to the second element OR, one output of which isconnected to the third element OR, and the other one—through theseries-connected unit for creating a new clip, unit for selecting atemplate, unit for entering a clip name, unit for editing scenes of aclip, unit for selecting background music, unit for viewing a clip—isconnected to the fourth element OR, one output of the third element isEITHER connected to the third input of the unit for creating a new clip,and the other one is connected to the second input of the unit forediting scenes of a clip through the unit for selecting an existingclip, one output of the fourth element is EITHER connected to the unitfor saving a clip to the store, and the other one—to the controller forrefusing to save the clip, while the output of the unit for saving aclip to the store is the output of the system (Patent RU No. 121637, IPCG09F19/00, published Oct. 27, 2012). The implementation of this systemis only possible using certain preprepared templates, which narrows itsscope of application. In addition, creation of video clips does not usevideo segments, but only photographs or texts of an advertisementmessage, which narrows the capabilities of this automated system.

A movie production system, which includes a computer system havingmachine readable memory and at least one processor executing a pluralityof program modules is known in the prior art. The computer systemincludes actor defined scene input data stored on the memory and thatdefines one or more scenes to be included in a movie. The programmodules include a screenplay module, a virtual director module, and amovie compiler module. (U.S. Pat. No. 8,988,611 B1, IPC G06F3/048,H04N5/222, published Mar. 24, 2015). However, this system is tied to aspecific automatic touch-operated photo and video studio, which narrowsthe capabilities of this system.

An automated video editing system that uses heuristics and parameters onvideo footage to provide a condensed version of the footage is known inthe prior art. The editing system automatically provides either afinished condensed version of the footage, or selects a plurality ofclips based on the heuristics and parameters. The clips can be furtheredited by a user to produce a condensed version. The condensed versioncan be transferred to any desired storage media suitable for storingvideo. A user interface enables the user to select heuristics toidentify video clips from the footage. Parameters are also set toautomatically edit the clips in a desired manner. Temporal combinationsof heuristics and parameters form templates, which are used to assembledesired clips for selected types of events (U.S. Pat. No. 7,248,778 B1,IPC H04N5/76, H04N5/91, G11B27/34, H04N5/93, G11B27/034, published Jul.24, 2007). This system is difficult for implementation.

A method and system for creating, producing and distributing videotemplates and video clips, which are designed for assisting end users tocreate customized video clips, is known in the prior art (US Patent20100153520 A1, IPC G06F3/048, G06F15/16, published Jun. 17, 2010).Using such a system, a user can create short versions of clips, save thebest clips for viewing by other users. However, it may take a very longtime to edit a longer video. In addition, the system is not intended forautomatic selection of video segments, united by a common sense, into afinished video clip.

A computer system for generating audio-visual projects, which enables auser to generate an audio-visual project using a template (templates) isknown in the prior art (U.S. Pat. No. 9,508,385 B2, IPC H04N21/472,H04N21/478, H04N21/845, H04N5/93, H04N21/4788, A63F13/86, A63F13/63,A63F13/655, G11B27/034, G11B27/10, published Nov. 29, 2016). Although auser can control the process of creating a finished project, this systemdoes not allow creation of an automatic photo demonstration videos thatmeet higher requirements, and as a result of user errors, a project thatdoes not meet the technical criteria can be created, and editing theproject and introducing changes into it involves a lengthy process ofvideo rendering.

A system for distributed multimedia production, in which a digitalmultimedia platform is available to a plurality of collaborators of avideo project through a networked computing system for mapping scriptinformation is also known in the prior art. In one embodiment, thesystem includes a tools module, an authentication module, a compilationmodule, and a script writing tool. The tools module enables editing of amultimedia project by collaborators. The authentication module assignsroles and privileges to collaborators. The compilation module receivesfiles and information from collaborators (Patent US 20130151970 A1, IPCH04N21/854, published Jun. 13, 2013). The joint work of thecollaborators burdens the operation of the known system, and as aresult, a rather long time is required to create a video. Also, whenimplementing this system, editing the video and introducing changes toit is associated with a long technological process of rendering a videoproject. In addition, the system does not provide automatic selection ofvideo clips.

The objective of this invention is to create an automated system forcreating, processing and generating videos, in which, through the use ofnew modules and the relationships between them, it is possible toautomatically generate a customizable sequence of video fragments,increase the speed of a video creation, and the use of unique hashidentifiers enables instant finding of the necessary information at anyrate of data quantity growth.

SUMMARY

The problem is solved in that an automated system for creating,processing and generating videos is proposed, comprising at least onevideo server connected by means of a data transmission network to atleast one user computer device, and a data store, wherein the said videoserver comprises at least one processor configured to execute programinstructions contained in a readable memory, and server-based software,at least one unit for authenticating users configured to authenticate,authorize/register the system users and verify the authorized useraccess to system functions, and a unit for loading data configured toload digital audio visual data and directory databases onto the videoserver; each of these user computer devices comprises an interface forconnection to the data transmission network and client software designedto interact with the video server. The said video server 1 furtherincludes, connected to each other and to the units for authenticatingusers and unit for loading data, a unit for generating and assigningunique identifiers, a unit for establishing relationships 8, a unit forgenerating a sequence of video fragments, a unit for forming/editing thesequence of video fragments, a unit for applying visual/audio effects, aunit for pre-viewing, a unit for pre-saving, a unit forcompiling/rendering video fragments and a unit for storing the results,where:

the unit for generating and assigning unique identifiers comprises meansfor generating a unique hash identifier for each data that is loaded inthe unit for loading data;

the unit for establishing relationships is configured to establishrelationships between the data loaded into the system using the hashidentifier by means of the unit for generating and assigning uniqueidentifiers;

the unit for generating a sequence of video fragments is configured toautomatically generate a sequence of video fragments based on input datareceived from a user;

the unit for forming/editing the sequence of video fragments isconfigured to edit the previously generated sequence of video fragmentsbased on input commands received from a user;

the unit for applying visual/audio effects is configured to add/editvisual/audio effects to the previously generated sequence of videofragments;

the unit for pre-viewing is configured to pre-generate the video basedon the sequence of video fragments and/or added special effects;

the unit for pre-saving is configured to save the sequence of videofragments and/or the sequence of video fragments with special effectsadded, to the data store;

the unit for compiling/rendering video fragments is configured togenerate a video file based on user input data as well as data obtainedfrom the unit for pre-saving and to save the specified video file to thevideo server data store;

the unit for storing the results is configured to save the generateddigital video file to the user computer device and to provide access todownload the specified digital video file by other users,

while the said units are configured to store data in the data store,which further comprises a bunch of established dependencies.

The claimed invention has several advantages. The proposed system usesunique hash identifiers that are assigned to any data entered to thedata store. Moreover, in the process of assigning the said identifiers,dependencies between the input video fragments are established, whichenables the system means to automatically generate the desired sequenceof data, namely, the sequence of video fragments needed to create acomplete video.

BRIEF DESCRIPTION OF THE DRAWINGS

The invention will now be described with reference to illustrativematerial, where FIG. 1 shows an exemplary diagram of the proposedsystem, FIG. 2 schematically shows the structure of a video server.

PREFERRED EMBODIMENT OF THE INVENTION

The proposed automated system for creating, processing and generatingvideos (as shown in FIG. 1) comprises a video server 1 connected bymeans of a data transmission network 2 to at least one user computerdevice 3, and a data store 4. User computer device 3 contains aninterface for connecting to a data transmission network 2 and installedclient software designed to interact with a video server 1.

Terms used in the description:

A user means one person (it can also be a group of people). Users canhave various roles (which limit, or vice versa, expand the possibilitiesof using certain parts of the system).

A user computer device is a personal computer, a tablet, a smart phone,etc. These devices must have an output unit (for example, a display, acomputer screen, or other), as well as input units (a keyboard orother). The user device must have a network connection interface (theInternet or other).

Client software is an application based on a client-server architecture.A client sends http requests to the video server using the networkinterface available to the client and receives a response from the videoserver with the result of the request execution. Transfer of requestsfrom the client to the video server and back can be done using theInternet connection (if the servers are located on a remote machine), orusing the Intranet (if the servers and the client are located on one andthe same local network). One of the options can serve as a client:

-   -   Internet browser of the user;    -   desktop application;    -   mobile application,        and others.

The client software is configured to send requests to the video server,as well as to receive responses from the video server. RestAPI (or otherpossible solutions) can serve as an example of the interaction betweenthe client and the server, which may as well include ApiToken as arequest authorizer.

A Video Server is a remote computer connected to a network, such as theInternet. The Video Server must have at least one processor that willexecute program instructions that are stored in a readable memory. Norestrictions are imposed on the number of processors (except for theminimum) and the types of processors used. There are also norestrictions on the programming language in which program instructionscan be written, and there are also no restrictions on the type and sizeof the readable memory. Also, the server must have a network interface,and provide the possibility to connect to it via the Internet, or anyother type of network. The Video Server also contains a plurality ofprogram units that provide the functionality of the system.

Data network: any network can be used as the network, which will allowthe Video Server and the user device to communicate. For example, it maybe either the Internet, or not the Internet network.

A video fragment is a video segment containing any video information andhaving any available format (for example, .avi, .mpeg, .flv, .webm andother well-known similar solutions).

A video file is a file that is formed by combining video fragments insequence according to the formed sequence of actions of the system useror to the sequence automatically generated by the video server.

A video is the end result of system user actions. The video must meetthe following requirements:

-   -   1. Each subsequent video fragment must be logically (in terms of        meaning) associated to the previous one.    -   2. Selected video fragments must not contradict each other in        terms of a group of actors.    -   3. Selected video fragments must not contradict each other in        terms of style.    -   4. Selected video fragments together must form a linear plot.    -   5. Selected video fragments must not contradict each other in        terms of genre.        As a result, the selected video fragments, as a whole, must form        a narrative.

A data store is an information storage device on a video server designedto store data, directory databases and established dependencies, forexample, by style, theme, cast (group), genre (from previouslydownloaded directory databases).

A hash identifier is a unique identifier automatically generated by thesystem for all data that is loaded in the unit for loading data, and itis possible to uniquely identify any data loaded into the system by hashidentifiers. The use of unique hash identifiers enables storing data inthe data store in a strictly established order and instant finding ofthe necessary information at any rate of data quantity growth. Hashidentifiers uniqueness is limited to 2{circumflex over ( )}128. The UUIDidentification standard can serve as an example of implementation.

The Video Server 1 comprises at least one processor configured toexecute program instructions contained in the readable memory, and theserver software.

Databases can be stored both on the video server itself, and on adatabase server or on other storage systems connected via the network 2.Other devices (servers) can connect to the video server, and, as aresult, the processor will execute the necessary program instructions.

The Video Server 1 comprises a plurality of program units that providethe functionality of the system (as shown in FIG. 2).

The list of units and their functions:

1) Unit for authenticating users 5: this unit implements thefunctionality of authentication, authorization/registration of systemusers; for this, the processor executes program instructions of thisunit, which are stored in the readable memory. This unit implements thefunctionality of verifying the authorized user access to variousunits/system functions. User data is stored in the data store 4.

2) Unit for loading data 6: this unit provides loading of digital audiovisual data to the server, as well as loading of ‘directories’ (a themedirectory, a directory of styles, a directory of groups of actors, adirectory of genres, etc.). At the same time, the processor executesthis unit's program instructions, which are stored in the readablememory.

3) Unit for generating and assigning unique identifiers 7: this unitimplements the functionality of generating a hash identifier (andbinding it to the loaded data in the data store 4). The means of thisunit execute a generation algorithm, which ensures the generation of aunique key, so that the identifier is unique, and the second sameidentifier is not generated. This hash is unique, and is generated forevery data that is loaded into the unit for loading data 6 (thus, it isalways possible to uniquely identify any data loaded into the systemusing hash).

4) Unit for establishing relationships (dependencies) 8: this unitimplements the functionality of establishing relationships(dependencies) between the data loaded into the system (which is loadedinto the unit for loading data 6) using the hash identifier (by means ofthe unit for generating and assigning unique identifiers 7). Theestablished dependencies are stored in the data store 4. User access tothe functionality of this unit is controlled by the unit forauthenticating users 5.

5) Unit for generating a sequence of video fragments 9: this unitprovides automatic generation of a sequence of fragments (a futurevideo) based on input data received from the user (theme, genre, etc.),while the processor executes this unit's program instructions, which arestored in the readable memory. The generated sequence is formed from thelist of video fragments (which were loaded using the unit for loadingdata 6), based on the choice of dependencies (set in the unit forestablishing relationships (dependencies) 8) and hash identifiers (whichwere assigned to the input data using the unit for generating andassigning unique identifiers 7). User access to the functionality ofthis unit is controlled by the unit for authenticating users 5.

6) Unit for forming/editing the sequence of video fragments 10: thisunit ensures editing of the previously generated sequence (the sequencegenerated in the unit for generating a sequence of video fragments 9 orin the unit for pre-saving 13), based on input commands received fromthe user, while the processor executes this unit's program instructions,which are stored in the readable memory. The functionality of the unit10 enables adding video fragments to different parts of the sequence,that is, specifying a hash identifier, that was previously generated bythe unit for generating and assigning unique identifiers 7, of any videofragment out of all the possible ones loaded into the system in the unitfor loading data 6, while the insert/relocation/replacement function isprovided to the user based on verification of relationships (indicatedin the unit for establishing relationships (dependencies) 8) between thevariable elements and the sequence of video fragments. Thus, by changingthe sequence of video fragments, as well as its individual elements, theuser will not be able to indicate elements that do not correspond toeach other, as well as to other criteria. User access to thefunctionality of this unit is controlled by the unit for authenticatingusers 5.

7) Unit for applying visual/audio effects 11: this unit implements thefunctions of adding/editing special visual/sound, text and othereffects, which were added in the unit for loading data 6, to thegenerated sequences of video fragments, which were formed in the unitfor generating a sequence of video fragments 9 and/or the unit forforming/editing the sequence of video fragments 10, while the processorexecutes the program instructions of this unit. User access to thefunctionality of this unit is controlled by the unit for authenticatingusers 5.

8) Unit for pre-viewing 12: this unit implements the function ofpreliminary (temporary) generation of a video based on the sequence ofvideo fragments in the unit for generating a sequence of video fragments9 and/or in the unit for forming/editing the sequence of video fragments10, and/or added special effects (by means of the unit for applyingvisual/audio effects 11), while the processor executes programinstructions of this unit. User access to the functionality of this unitis controlled by the unit for authenticating users 5.

9) Unit for pre-saving 13: this unit implements the functionality ofstoring the settings in the data store 4, the settings being thesequence of video fragments in the unit for generating a sequence ofvideo fragments 9 and/or in the unit for forming/editing the sequence ofvideo fragments 10, special effects added by means of the unit forapplying visual/audio effects 11. User access to the functionality ofthis unit is controlled by the unit for authenticating users 5.

10) Unit for compiling/rendering the video 14: this unit implements thevideo file generation functionality based on the input data (format,size, name) specified by the user, as well as on the data obtained onthe basis of the unit for pre-saving 13, while the program instructionsof this unit are executed by the processor. The operation of this unitresults in the creation of a digital video file, which is stored in thedata store 4 of the server 1. User access to the functionality of thisunit is controlled by the unit for authenticating users 5.

11) Unit for storing the result 15: this unit implements thefunctionality of saving (downloading) the digital file generated in theunit for compiling/rendering the video 14 to the user's device, as wellas sharing (granting access) of a digital file for downloading by otherusers, while the processor executes program instructions of this unit.User access to the functionality of this unit is controlled by the unitfor authenticating users 5.

The implementation of the invention is illustrated by the followingexample.

Example 1

Initially, the following data is loaded onto the video server 1 in theunit for loading data 6:

-   -   video fragments (digital video files);    -   themes (a list of themes to which one or another video fragment        can be attributed);    -   genres (a list of genres to which one or another video fragment        can be attributed, for example, comedy, animation, etc.);    -   style (a list of styles);    -   the cast (or groups, a list of cast members by which one or        another video fragment can be compiled);    -   sound (audio) digital data that can be further used as special        effects;    -   graphic images that can be further used as special effects;    -   rendering file formats;    -   resolution (width, height) of the generated videos;    -   other data.

Also, the necessary directories are loaded into the indicated unit (atheme directory, a directory of styles, a directory of groups of actors,a directory of genres, and others).

At the same time, a unique hash identifier is assigned to all digitalvideo files, this process is implemented by means of the unit forgenerating and assigning unique identifiers 7. Also, in the unit forestablishing relationships 8, relationships (dependencies) between thedata loaded to the system are established using hash identifiers.

In one exemplary embodiment of the claimed technical solution, thedependencies between the loaded video fragments may be as follows:

-   -   by style;    -   by theme;    -   by the cast (group);    -   by genre (from previously loaded directories).

Next, the dependencies of the loaded video fragments between themselvesare established (correspondence of the fragments to each other).

The following example shows the action mechanism of the means within thesystem of establishing dependencies for the three requirements.

For example, there are 4 loaded video fragments for which a unique hashidentifier has been assigned:

Hash Identifier Fragment HASH1 Fragment 1 HASH2 Fragment 2 HASH3Fragment 3 HASH4 Fragment 4

For example, there are 4 styles:

Hash Identifier Style HASH100 Style 1 HASH200 Style 2 HASH300 Style 3HASH400 Style 4

For example, there are 4 themes:

Hash Identifier Theme HASH555 Theme 1 HASH666 Theme 2 HASH777 Theme 3HASH888 Theme 4

For example, there are 4 options for the cast (group):

Hash Identifier Cast HASH1100 Cast 1 HASH1200 Cast 2 HASH1300 Cast 3HASH1400 Cast 4

Then, the established relationships/dependencies will be as follows:Correspondence of the video fragment to the style:

Hash Identifier of the Hash Identifier Video Fragment of the Style HASH1HASH200 HASH3 HASH300 HASH4 HASH200 HASH3 HASH200 HASH2 HASH200

Which means that the video fragment with a unique identifier HASH1corresponds to the style with a unique identifier HASH200, the videofragment with a unique identifier HASH3 corresponds to a uniqueidentifier HASH300, the video fragment with a unique identifier HASH4corresponds to a unique identifier HASH200, etc.

Correspondence of the video fragment to the theme:

Hash Identifier of the Hash Identifier Video Fragment of the Theme HASH1HASH777 HASH3 HASH888 HASH4 HASH777 HASH2 HASH777 HASH4 HASH888

Which means that the video fragment with a unique identifier HASH1corresponds to the theme with a unique identifier HASH777, the videofragment with a unique identifier HASH3 corresponds to the theme with aunique identifier HASH888, the video fragment with a unique identifierHASH4 corresponds to a unique identifier of the theme HASH777.

Correspondence of the video fragment to the group of actors:

Hash Identifier of the Hash Identifier Video Fragment of the Group HASH1HASH1300 HASH3 HASH1300 HASH4 HASH1300 HASH2 HASH1300

Which means that the video fragment with a unique identifier HASH1corresponds to the group with a unique identifier HASH1300, the videofragment with a unique identifier HASH3 corresponds to the group with aunique identifier HASH1300, the video fragment with a unique identifierHASH4 corresponds to a unique identifier of the group HASH1300, etc.

Correspondence of one video fragment to the other one:

Hash Identifier of the Hash Identifier of the Video Fragment VideoFragment HASH1 HASH3 HASH3 HASH4 HASH4 HASH1 HASH2 HASH4 HASH2 HASH1HASH4 HASH2

Which means that the video fragment with a unique identifier HASH1corresponds to the video fragment with a unique identifier HASH3, thevideo fragment with a unique identifier HASH3 corresponds to the videofragment with a unique identifier HASH4, the video fragment with aunique identifier HASH4 corresponds to a unique identifier of the groupHASH1, etc.

Ultimately, having the dependencies established, when forming a sequenceof video fragments (automatic or manual by the user), the system willcheck whether two successive video fragments can correspond to eachother.

When generating a sequence of video fragments automatically, the systemwill always generate the correct sequence based on the enteredcorrespondence tables.

In case the user forms/edits a sequence of fragments manually, thesystem will limit the possibility to insert an ‘incorrect’ (notcorresponding to the data indicated in the correspondence table)fragment.

An example of a sequence of fragments:

HASH1=>HASH4=>HASH2—the sequence is correct, all successive fragments donot violate the criteria specified in the tables above.

HASH1=>HASH2=>HASH4—the sequence is correct, all successive fragments donot violate the criteria specified in the tables above.

HASH1=>HASH3—the sequence is not correct and violates the correspondenceof the fragment to the theme (as it corresponds to the theme differentfrom the theme for HASH1), as well as the correspondence of fragments toeach other (as there are no HASH3-HASH1 fragments in the correspondencetable). In this case, the system will offer (based on the correspondencetables) valid options for selection (instead of HASH3 it will be HASH4or HASH2).

HASH1=>HASH2=>HASH3—the sequence is not correct and violates thecorrespondence of the fragment to the theme (as it corresponds to thetheme different from the theme for HASH2), as well as the correspondenceof fragments to each other (as there are no HASH3-HASH2 fragments in thecorrespondence table). In this case, the system will offer (based on thecorrespondence tables) valid options for selection (instead of HASH3 itwill be HASH4).

HASH1=>HASH2=>HASH4=>HASH3—the sequence is correct, all successivefragments do not violate the criteria specified in the tables above.

As a result, the system will generate such a sequence of video fragmentsfor the user in which the possibility of error is excluded.

User interaction with the system.

The user interacts with the system through an application running on theuser's device.

On user's device, the user installs a specially designed application(mobile, browser or desktop) and launches it. As soon as the applicationis launched the user will see the authorization interface. The dataentered by the user is sent to the server and checked (the unit forauthenticating users 5 is used). After successful authorization, theuser can choose further options (using the menu interface):

-   -   load the input data;    -   establish relationships;    -   create/edit a video.

When selecting the function of input data loading, the user can see theinterface (if access right is available) in which the input data (videofragments, a list of themes, a list of genres, a list of styles, a listof groups of actors, previously saved in the data store 4 and having aunique hash identifier) is loaded into the corresponding fields. Data issent to the video server 1, and processed by means of units for:authenticating users 5, loading data 6, generating and assigning uniqueidentifiers 7.

When selecting the function of establishing relationships, the user cansee the interface with the help of which the admin user establishesrelationships between the input data previously loaded into the system.Data is sent to the video server 1, and processed by means of units for:authenticating users 5, establishing relationships (dependencies) 8.

When selecting the function of creating/editing a video, if the user hasnot previously set up the settings for the video, the user can see theinterface for entering the theme of the video being created and/or genre(the list of initial fields that the user can fill is not limited). Theentered data is sent to the video server 1, based on which a sequence ofvideo fragments is automatically generated to the user (setting up afuture video). The implementation of this functionality involvesfollowing units of the video server 1: unit for authenticating users 5,unit for forming/editing the sequence of video fragments 10.

If the video has been previously created, the user can see the interfacefor selecting previously saved data that is automatically loaded fromthe data store 4, with the following units of the video server 1 beingused: unit for authenticating users 5, unit for forming/editing thesequence of video fragments 10.

The user can see the interface for selecting options for the sequence offragments shown earlier:

-   -   edit video fragments;    -   add special effects to video fragments;    -   preview video fragments;    -   save settings;    -   render a video.

When selecting ‘Edit video fragments’, the user can see the interface inwhich the current video fragments are displayed on the time-line. Eachvideo fragment can be replaced by another video fragment from thesystem, by selecting them from all valid video fragments available.Also, the user can change the sequence of video fragments (relocatethem), insert other video fragments between video fragments (or removevideo fragments). Every possible user action to edit a sequence of videofragments, namely relocating, inserting a new fragment, deleting afragment from a sequence, is controlled by means of the unit forestablishing relationships (dependencies) 8. Accordingly, every time thesystem provides only valid video sequences and valid actions over them.

When selecting ‘Add special effects to video fragments’, the user cansee the interface in which special effects are added to the previouslyset sequence of video fragments. Sound, graphic, text, and other effectsare available to the user in the data store 4. Also, the user can add(upload) his own sound, video, photo data.

In this case, the following units of the video server 1 are used: unitfor authenticating users 5, unit for forming/editing the sequence ofvideo fragments 10, unit for applying visual/audio effects 11.

When selecting ‘Preview’, the user can see the interface in which thevideo player can view a version of the future video, before its finalcompilation (rendering), taking into account the changes made earlierand the application of special effects. Unit for authenticating users 5,unit for pre-viewing 12 of the video server 1 are used.

When selecting ‘Save settings’, the user can see the interface throughwhich the function of preliminary saving the sequence of videofragments, as well as special effects, is implemented. The user fills inthe form field ‘Project Name’. Later, the previously saved ‘Project’ (asequence of video fragments with all the settings) can be reopened, andwork on it can be continued. The following video server units are used:unit for authenticating users 5, unit for forming/editing the sequenceof video fragments 10, unit for applying visual/audio effects 11, andunit for pre-saving 13.

When selecting ‘Render a video’, the user can see the interface forentering the video file name, format, resolution (directory fields fromthe data store 4 of the server). After clicking the ‘Render’ functionbutton, the data is sent to the video server 1, and the function ofvideo rendering (generation) starts. Then the user is shown the resultof the video generation. At the same time, it is possible to save ordownload the result. The following video server 1 units are used: unitfor authenticating users 5, unit for forming/editing the sequence ofvideo fragments 10, unit for applying visual/audio effects 11, unit forpre-saving 13, unit for compiling/rendering the video files 14.

When selecting ‘Save Results’ after the rendering is finished, the userproceeds to the interface for saving the result. The user can download(that is, save the generated video file to his device), save it to thevideo server 1, or provide other users of the system with access todownload the video file. The following video server 1 units are used:unit for authenticating users 5, unit for forming/editing the sequenceof video fragments 10, unit for applying visual/audio effects 11, unitfor pre-saving 13, unit for compiling/rendering the video 14, unit forsaving the result 15.

As a result, a video will be created that meets the user's needs, and inwhich the logical association between the used video fragments isobserved.

The user can repeat the actions named above as many times as necessary.

This example does not impose any restrictions on other possibleimplementation options and on the possible type and format ofapplication, as well as on the programming language (in which theapplication is implemented). Also, no restrictions are imposed on thetypes of devices and operating systems on which the application can run.

The invention claimed is:
 1. An automated system for creating,processing and generating videos, the system comprising at least onevideo server connected to a data transmission network and a data store,the video server comprising at least one processor configured to executeprogram instructions contained in a readable memory, and server-basedsoftware, and a unit for loading data to load digital audio visual dataonto the video server; the video server further comprising, connected toeach other: a unit for generating and assigning unique identifiers beingconfigured for generating a unique hash identifier for each of the videofragments and data sets uploaded to the unit for loading data and forestablishing dependencies between said hash identifiers; a unit forestablishing relationships being configured to establish relationshipsbetween hash identifiers of each of the video fragments and all of thedata sets uploaded to the unit for loading data using one or morecorrespondence tables; a unit for generating a sequence of videofragments being configured to automatically generate the sequence ofvideo fragments based on the relationships between hash identifiersformed by the unit for establishing relationships; a unit for forming orediting the sequence of video fragments being configured to edit thepreviously generated sequence of video fragments based on input commandsand being configured, in response to the input commands, to checkwhether two successive video fragments can correspond to each otherbased upon the correspondence tables, and being configured in response,to limit the creation of an incorrect video fragment in the sequence;each of the units being configured to store data in the data store,which additionally contains the set of established dependencies based onstyle, theme, cast or genre of the video fragments.
 2. The systemrecited in claim 1, further comprising a unit configured for applyingvisual or audio effects by adding visual or audio effects to, or editingvisual or audio effect in relation to, the sequence of video fragments,which were formed in the unit for generating a sequence of videofragments and/or in the unit for forming/editing the sequence of videofragments.
 3. The system recited in claim 2, further comprising a unitfor pre-viewing being configured to pre-generate a digital video filebased on the sequence of video fragments, which were formed by the unitfor generating a sequence of video fragments and/or by the unit forforming/editing the sequence of video fragments, and with added visualor audio effects.
 4. The system recited in claim 2, further comprising aunit for pre-saving being configured to save the sequence of videofragments, or to save a new sequence of video fragments with the visualor audio effects, to the data store.
 5. The system recited in claim 4,further comprising a unit for compiling or rendering video fragmentsbeing configured to generate a video file based on input data as well asdata obtained from the unit for pre-saving and to save the video file tothe data store.
 6. The system recited in claim 5, further comprising aunit for storing the results being configured to download the digitalvideo file to one or more user computer devices.
 7. Acomputer-implemented method for creating, processing and generatingvideos, the method being executed using at least one video serverconnected to a data transmission network and a data store, the videoserver comprising at least one processor configured to execute programinstructions contained in a readable memory, and server-based software,the method comprising: loading digital audio visual data onto the videoserver; generating a unique hash identifier for each of a plurality ofvideo fragments and data sets uploaded to a unit for loading data of thevideo server; establishing dependencies between hash identifiers of eachof the video fragments and all of the data sets uploaded to the unit forloading data using one or more correspondence tables; automaticallygenerating a sequence of video fragments based on the relationshipsbetween hash identifiers formed by the unit for relationshipsestablishment; editing the previously generated sequence of videofragments based on input commands and, in response to the inputcommands, checking whether two successive video fragments can correspondto each other based upon the correspondence tables, and in response,including limiting the creation of an incorrect video fragment in thesequence.
 8. The method of claim 7, further comprising adding or editingvisual effects or audio effects in relation to the previously generatedsequence of video fragments.
 9. The method of claim 8, furthercomprising pre-generating a video based on the sequence of videofragments and visual effects or audio effects.
 10. The method of claim7, further comprising pre-saving the sequence of video fragments, or anew sequence of video fragments with special effects added, to the datastore.
 11. The method of claim 10, further comprising compiling orrendering video fragments to result in generating a digital video filebased on input data and the sequence of video fragments that have beenpre-saved, and saving the video file to data store.
 12. The method ofclaim 11, further comprising downloading the digital video file to oneor more user computer devices.
 13. The method of claim 7, furthercomprising generating the unique hash identifier for each of the videofragments and binding the unique hash identifiers respectively to eachof the video fragments.
 14. The method of claim 7, the loading furthercomprising loading, onto the video server, data specifying one or moreof: a list of themes to which one or another video fragment can beattributed, a list of genres to which one or another video fragment canbe attributed; a list of styles; a list of cast members by which one oranother video fragment can be compiled; audio digital data that can befurther used as special effects; graphic images that can be further usedas special effects; rendering file formats; resolution of the generatedvideos.
 15. The method of claim 7, the established dependencies relatingto one or more of style, theme, cast, genre of video fragments.